package pdd.pdd2023;

import java.util.ArrayList;
import java.util.Scanner;

import static java.util.Collections.sort;

public class pdd1 {

    /**
     * 1.
     * 多多的数字组合
     * 多多君最近在研究某种数字组合：
     * 定义为：每个数字的十进制表示中(0~9)，每个数位各不相同且各个数位之和等于N。
     * 满足条件的数字可能很多，找到其中的最小值即可。
     * 多多君还有很多研究课题，于是多多君找到了你--未来的计算机科学家寻求帮助。
     *
     * 数据范围：
     * 1
     * ≤
     * n
     * ≤
     * 1000
     *
     * 1≤n≤1000
     * 进阶：空间复杂度
     * O
     * (
     * 1
     * )
     *
     * O(1)  ，时间复杂度
     * O
     * (
     * n
     * )
     *
     * O(n)
     * 时间限制：C/C++ 1秒，其他语言2秒
     * 空间限制：C/C++ 256M，其他语言512M
     * 输入描述：
     * 共一行，一个正整数N，如题意所示，表示组合中数字不同数位之和。
     * （1 <= N <= 1,000）
     * 输出描述：
     * 共一行，一个整数，表示该组合中的最小值。
     * 如果组合中没有任何符合条件的数字，那么输出-1即可。
     * 示例1
     * 输入例子：
     * 5
     * 输出例子：
     * 5
     * 例子说明：
     * 符合条件的数字有：5，14，23，32，41
     * 其中最小值为5
     *
     * 示例2
     * 输入例子：
     * 12
     * 输出例子：
     * 39
     * 例子说明：
     *
     *
     * 示例3
     * 输入例子：
     * 50
     * 输出例子：
     * -1
     * 例子说明：
     * 没有符合条件的数字 (Ｔ▽Ｔ)
     * @param args
     */
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int scan = in.nextInt();
        int i;
        int sum = 0;
        if (scan >=50)
            System.out.println(-1);
        else if (scan<10){
            System.out.println(scan);
        }
        else {
            //创建一个数组，存放结果
            ArrayList<Integer> res = new ArrayList<Integer>();
            for (i = 9; i >= 1; i--) {
                if (scan == 0){
                    break;
                }
                if ( scan-i >= 0){
                    scan -= i;
                    res.add(i);
                }
            }
            if (scan == 0){
                sort(res);
                StringBuilder sb = new StringBuilder();
                for (int digit : res) {
                    sb.append(digit);
                }
                System.out.println(sb.toString());
            }
            else
                System.out.println("-1");

        }

    }
}
